SPCN-NMS
![](/Nestlae/SPCN-NMS/raw/master/Images/opennms-logo.png)
การติดตั้ง การใช้งาน และการอ่านผลของเครื่องมือ OpenNMS Horizon
ขั้นตอนที่ 1 - ติดตั้ง OpenNMS
ขั้นตอนที่ 2 - ติดตั้ง PostgreSQL
ขั้นตอนที่ 3 - เริ่มใช้งาน OpenNMS
ขั้นตอนที่ 4 - การเปิด UI ของ OpenNMS ผ่าน Windows OS
ขั้นตอนที่ 5 - การติดตั้ง Server E-mail ในการส่งการแจ้งเตือน
การเพิ่ม Node เพื่อใช้ในการ Monitoring
การเข้าไปดูข้อมูลของ Client
การตั้งค่าหมวดหมู่
การเพิ่ม Node เข้าสู่ Dashboard
การตั้งค่าส่วนเสริม
ผลที่ได้จากการ monitor
ผู้จัดทำ
ความต้องการของระบบ
![](https://user-images.githubusercontent.com/116482588/211208124-071b01b4-52fa-49c7-8cd3-4158da2d15c9.png)
ขั้นตอนที่ 1 - ติดตั้ง OpenNMS
ทำการอัพเดท Packages ทั้งหมดก่อนที่จะทำการติดตั้ง OpenNMS โดยใช้คำสั่งดังนี้
apt-get update
![](/Nestlae/SPCN-NMS/raw/master/Images/image1.png)
ทำการติดตั้ง Java Development Kit โดยใช้คำสั่งดังนี้
apt-get install default-jdk gnupg gnupg2 gnupg1
![](/Nestlae/SPCN-NMS/raw/master/Images/image2.png)
ดาวน์โหลดและสร้างไฟล์สำหรับติดตั้ง OpenNMS โดยใช้คำสั่งดังนี้
[1] wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | sudo apt-key add -
[2] echo "deb https://debian.opennms.org/ stable main" | sudo tee /etc/apt/sources.list.d/opennms.list
![](/Nestlae/SPCN-NMS/raw/master/Images/image3.png)
ทำการอัพเดท Packages อีกครั้ง โดยใช้คำสั่งดังนี้
apt update
![](/Nestlae/SPCN-NMS/raw/master/Images/image4.png)
เข้าสู่การติดตั้ง OpenNMS จะใช้คำสั่งดังนี้เพื่อติดตั้ง Package ของ OpenNMS เมื่อติดตั้งสำเร็จแล้ว จะได้ผลลัพธ์ตามรูปภาพด้านล่าง
apt install opennms
![](/Nestlae/SPCN-NMS/raw/master/Images/image5.png)
![](/Nestlae/SPCN-NMS/raw/master/Images/image6.png)
![](/Nestlae/SPCN-NMS/raw/master/Images/image7.png)
![](/Nestlae/SPCN-NMS/raw/master/Images/image8.png)
![](/Nestlae/SPCN-NMS/raw/master/Images/image9.png)
ขั้นตอนที่ 2 - ติดตั้ง PostgreSQL
เช็คการติดตั้งภายใน VM/CT ว่ามี Package ของ PostgreSQL อยู่หรือไม่ โดยใช้คำสั่ง
systemctl status postgresql
โดยถ้าหากไม่มีหรือตรวจสอบแล้วไม่พบเจอ ให้ทำการติดตั้ง Package ดังกล่าวโดยใช้คำสั่งดังนี้
apt install postgresql
![](/Nestlae/SPCN-NMS/raw/master/Images/image10.png)
สร้างฐานข้อมูล โดยใช้คำสั่งตามลำดับดังนี้
[1] su - postgres
[2] createuser -P opennms //สร้างผู้ใช้ฐานข้อมูล
โดยที่การใส่รหัสนั้น จะสามารถใส่อะไรก็ได้ แต่ต้องกรอกเหมือนกันทั้งคู่
![](/Nestlae/SPCN-NMS/raw/master/Images/image11.png)
createdb -O opennms -E UTF-8 -T template0 opennms //สร้างฐานข้อมูล
อธิบายการทำงานจากคำสั่งย่อดังนี้
-O คือ กำหนดชื่อเจ้าของฐานข้อมูล
-E คือ การกำหนด encoding
-T คือ การกำหนดเทมเพรต
template0
เป็นเทมเพลตเปล่าๆที่ไม่มีวัตถุที่ผู้ใช้กำหนดใช้เป็นจุดเริ่มต้นสำหรับการสร้างฐานข้อมูลใหม่ที่ไม่มีวัตถุหรือข้อมูลจากฐานข้อมูลอื่น
template1
ในทางกลับกันเป็นเทมเพลตที่มีวัตถุและข้อมูลทั้งหมดจากpostgresฐานข้อมูลเทมเพลตนี้ใช้เป็นจุดเริ่มต้นสำหรับการสร้างฐานข้อมูลใหม่ที่รวมอ็อบเจ็กต์และข้อมูลมาตรฐานทั้งหมดที่มีให้ใน PostgreSQL เช่น pg_catalog
ในส่วนนี้ เป็นการเซ็ต Password ของฐานข้อมูลโดย คือ Password ที่ต้องการจะตั้ง ดังคำสั่งต่อไปนี้
psql -c "ALTER USER postgres WITH PASSWORD '';"
![](/Nestlae/SPCN-NMS/raw/master/Images/image12.png)
หลังจากทำการเซ็ต Password ของฐานข้อมูลเสร็จสิ้น ใช้คำสั่ง exit และ ทำการแก้ไขไฟล์ opennms-datasources.xml โดยใช้ nano ดังคำสั่งดังนี้
nano /usr/share/opennms/etc/opennms-datasources.xml
โดยจะทำการแก้ไขในส่วนไหนบ้าง?
ทำการแก้ไขส่วน user-name ของ opennms
ทำการแก้ไขส่วนของ password ให้ตรงกับที่ตั้งรหัสผ่านให้ฐานข้อมูล
![](/Nestlae/SPCN-NMS/raw/master/Images/image13.png)
หลังจากทำการแก้ไขเสร็จสิ้น ให้ทำการออกจากไฟล์ด้วยการกด Ctrl+X ต่อไปกด Y และกด Enter เพื่อบันทึกการแก้ไข
ขั้นตอนที่ 3 - เริ่มใช้งาน OpenNMS
เริ่มต้นด้วยการเปิดระบบ OpenNMS ด้วยคำสั่งดังนี้
/usr/share/opennms/bin/runjava -s
![](/Nestlae/SPCN-NMS/raw/master/Images/image14.png)
ทำการลงไลบรารี่ที่จำเป็น และเชื่อมต่อฐานข้อมูล PostgreSQL โดยใช้คำสั่งดังนี้
/usr/share/opennms/bin/install -dis
![](/Nestlae/SPCN-NMS/raw/master/Images/image15.png)
ทำการเปิดใช้งาน OpenNMS และเช็คการทำงานของ OpenNMS ว่าใช้งานได้ปกติหรือไม่ ตามคำสั่งดังนี้
systemctl start opennms //เปิดใช้งาน OpenNMS
systemctl status opennms //เช็คการทำงาน
![](/Nestlae/SPCN-NMS/raw/master/Images/image16.png)
ทำการเชื่อมต่อ OpenNMS เข้าสู่ Port 8980 และ Reload Uncomplicated Firewall (UFW) โดยใช้คำสั่งดังนี้
ufw allow 8980/tcp //ทำการเชื่อม OpenNMS สู่ Port 8980
ufw reload //รีโหลด UFW
![](/Nestlae/SPCN-NMS/raw/master/Images/image17.png)
![](/Nestlae/SPCN-NMS/raw/master/Images/image18.png)
ขั้นตอนที่ 4 - การเปิด UI ของ OpenNMS ผ่าน Windows OS
เปิด VPN ที่ทำการเชื่อมต่อกับ Server ของ OpenNMS และเข้าสู่หน้าเว็บไซต์ โดยทำตามขั้นตอนดังนี้
http://:8980/opennms
ในการเข้าสู่ระบบจะใช้
Username : admin
Password : admin
![](/Nestlae/SPCN-NMS/raw/master/Images/image19.png)
กด Opt-in เพื่อส่งสถิติการใช้ opennms แก่ OpenNMS Statistics เพื่อช่วยเหลือในการปรับปรุงซอฟแวร์
![](/Nestlae/SPCN-NMS/raw/master/Images/image20.png)
ขั้นตอนที่ 5 - การติดตั้ง Server E-mail ในการส่งการแจ้งเตือน
ทำการลง Package เพิ่มเติมในส่วนของ sendmail โดยใช้คำสั่งดังนี้
apt-get install sendmail
เช็คสถานะการทำงานของ Package ที่ลงไปก่อนหน้านี้ว่ากำลังทำงานอยู่หรือไม่ โดยใช้คำสั่งดังนี้
systemctl status sendmail
![](/Nestlae/SPCN-NMS/raw/master/Images/image21.png)
การเพิ่ม Node เพื่อใช้ในการ Monitoring
ให้ทำการกดที่เครื่องหมาย + (ตามวงกลมสีแดง)
![](/Nestlae/SPCN-NMS/raw/master/Images/image22.png)
กรอกข้อมูลตามตัว Client ที่จะต้องการ Monitor
![](/Nestlae/SPCN-NMS/raw/master/Images/image24.png)
ส่วนที่สำคัญ
Requisition สำหรับจัดหมวดหมู่การร้องขอเข้า Monitor ระบบเริ่มต้นจะมีให้เลือกแค่ selfmonitor โดยผู้ใช้สามารถเพิ่มหรือตั้งค่าเองได้
IP Address คือ IP ของ Client ที่จะทำการ Monitor
Node Label คือ ชื่อของ node
ส่วนของ SNMP Parameters (optional)
ให้ตั้งค่า Community String ตามเครื่องที่จะ Monitor โดยค่าเริ่มต้นจะเป็น Public
Surveillance Category Memberships (optional) คือ การกำหนดหมวดหมู่เพื่อแสดงสู่ Dashboard
การเข้าไปดูข้อมูลของ Client
ให้เลือกที่แท็บ Info (วงกลมสีแดง) และเลือก Node (วงกลมสีน้ำเงิน)
![](/Nestlae/SPCN-NMS/raw/master/Images/image25.png)
เลือก Node ที่ต้องการ
![](/Nestlae/SPCN-NMS/raw/master/Images/image26.png)
การแสดงข้อมูล Node ในการอ่านผลของข้อมูล หลักๆนั้น จะเป็นการทำงานของ SNMP ว่ายังใช้งานอยู่หรือไม่
![](/Nestlae/SPCN-NMS/raw/master/Images/image27.png)
การตั้งค่าหมวดหมู่
เข้าไปที่การตั้งค่า (วงกลมสีแดง)
![](/Nestlae/SPCN-NMS/raw/master/Images/image28.png)
เข้าที่เมนู Manage Surveillance Categories
![](/Nestlae/SPCN-NMS/raw/master/Images/image29.png)
สามารถทำการใส่ชื่อและเพิ่มหมวดหมู่ได้เลย
![](/Nestlae/SPCN-NMS/raw/master/Images/image30.png)
การเพิ่ม Node เข้าสู่ Dashboard
เข้าที่การตั้งค่าและเลือกเมนู Surveillance Views Configuration (วงกลมสีแดง)
![](/Nestlae/SPCN-NMS/raw/master/Images/image31.png)
ทำการกด Add หรือ Edit ตัว Surveillance Views ที่มีอยู่แล้ว
![](/Nestlae/SPCN-NMS/raw/master/Images/image32.png)
กด Add และทำการเพิ่มชื่อ Surveillance Views ที่ Title รวมถึงทำการกำหนดเวลาในการ Refresh
![](/Nestlae/SPCN-NMS/raw/master/Images/image33.png)
ทำการเพิ่ม Row และ Column ด้วยการกด Add
![](/Nestlae/SPCN-NMS/raw/master/Images/image34.png)
ตั้งชื่อ Row และ Column และเลือกหมวดหมู่ที่ต้องการแสดง โดยจะต้องเลือก Row และ Column ให้ตรงกับหมวดหมู่ที่เราต้องการแสดงทั้งหมด และกด Save
ข้อมูลจะแสดงสู่ Dashboard สามารถแสดงผลกราฟและแจ้งเตือนต่างๆได้
![](/Nestlae/SPCN-NMS/raw/master/Images/image35.png)
การเปิดใช้งานการแจ้งเตือนผ่าน Email
เข้าไปที่การตั้งค่าและเลือกเมนู Configure Users, Groups and On-Call Roles (วงกลมสีแดง)
![](/Nestlae/SPCN-NMS/raw/master/Images/image36.png)
เลือก Configure Users (วงกลมสีแดง)
![](/Nestlae/SPCN-NMS/raw/master/Images/image37.png)
ในส่วนของตารางช่อง Modify ให้ทำการกดรูปดินสอกระดาษเพื่อแก้ไขในส่วนของข้อมูลการแจ้งเตือน
![](/Nestlae/SPCN-NMS/raw/master/Images/image38.png)
ในส่วนของ Notification Information นั้นให้พิมพ์ E-mail ลงไปในส่วนของช่อง Email
![](/Nestlae/SPCN-NMS/raw/master/Images/image39.png)
เลือก Notification Status ให้เป็น On และทำการกดปุ่ม Update
![](/Nestlae/SPCN-NMS/raw/master/Images/image40.png)
การตั้งค่าส่วนเสริม
การตั้งค่า Protocol SNMP และ HTTP
เข้าสู่ตัว VM หรือ CT ที่ต้องการติดตั้ง
ติดตั้ง SNMP
[1] apt update //อัปเดตแพ็คเกจ
[2] apt install snmpd snmp //ลงแพ็คเกจ snmpd และ snmp
[3] systemctl start snmpd //เปิดการทำงาน snmp
[4] systemctl status snmpd //เปิดการทำงาน snmp
ตั้งค่าระบบ snmp ใน host
nano /etc/snmp/snmpd.conf //ทำการเปิดไฟล์ snmpd.conf
![image](https://user-images.githubusercontent.com/116482588/211189874-bce86ddd-611e-4ddd-adfa-425368be7170.png)
แก้ไข agentaddress เป็น Ip address ของตัว VM หรือ CT
เพิ่มข้อความ view systemonly included .1.3 เพื่อให้ protocol snmp เข้าถึงตัวข้อมูลได้มากยิ่งขึ้น
![image](https://user-images.githubusercontent.com/116482588/211189973-6b968db6-9077-4d6a-8dbf-7044ec1f07b5.png)
rocommunity default -V systemonly
rocommunity6 default -V systemonly
เพิ่ม disk เพื่อเข้าถึงการทำงานในไฟล์ เช่น disk / คือเข้าถึงไฟล์ใน root ทั้งหมด
systemctl restart snmpd //รีสตาร์ทการทำงาน snmp
ติดตั้ง HTTP
เข้าสู่ตัว VM หรือ CT ที่ต้องการติดตั้ง
ติดตั้ง HTTP server
apt-get install apache2
ตั้งค่าระบบ HTTP ใน host
nano /etc/apache2/sites-available/000-default.conf //ทำการเปิดไฟล์ 000-default.conf
แก้ไขโดยการ
- นำ # ที่แถวของ ServerName ออก
![image](https://user-images.githubusercontent.com/116482588/211190965-d2489e49-5c88-43bc-a102-7bb9fe57b10c.png)
- แก้ไขชื่อตามที่ต้องการ
![image](https://user-images.githubusercontent.com/116482588/211191024-f8488d63-f111-4779-adfb-4d6c43e2f897.png)
systemctl restart apache2 //รีสตาร์ทการทำงาน HTTP server
การติดตั้ง SSH
ในการเปิดการใช้งาน SSH จะใช้คำสั่งดังนี้เพื่อเช็คสถานะของ SSH ก่อนว่าทำงานอยู่หรือไม่
systemctl status ssh
![](/Nestlae/SPCN-NMS/raw/master/Images/image41.png)
หาก SSH ไม่ได้ทำงานอยู่ ให้ทำการเปิดการทำงานโดยใช้คำสั่งดังนี้ และเช็ค Status อีกรอบเพื่อความมั่นใจ
[1] systemctl start ssh //เปิดการทำงาน SSH
[2] systemctl status ssh //เช็คสถานะการทำงานของ SSH
![](/Nestlae/SPCN-NMS/raw/master/Images/image42.png)
การเชื่อม SSH เข้าสู่พอร์ตใน Container
ทำการอนุญาต SSH ให้กับ UFW
ufw allow ssh
![](/Nestlae/SPCN-NMS/raw/master/Images/image43.png)
เปิดใช้งาน UFW และทำการ Reload
[1] ufw enable
[2] ufw reload
การเชื่อมต่อ Container เข้าสู่ระบบ Windows
เปิด VPN ของตนที่เชื่อมเข้าสู่ Server ได้
เปิด Terminal (cmd) และพิมพ์คำสั่งดังนี้
ssh root@ // เป็นหมายเลข IP ของ Container
![](/Nestlae/SPCN-NMS/raw/master/Images/image44.png)
ให้พิมพ์ "yes" เพื่อการเชื่อมต่อที่สมบูรณ์
![](/Nestlae/SPCN-NMS/raw/master/Images/image45.png)
ผลที่ได้จากการ monitor
![image](https://user-images.githubusercontent.com/116482588/211201494-33fb0922-33df-42f1-b88c-51e16d390ed2.png)
ได้รับข้อมูลตามที่เจ้าของเครื่องได้ทำการตั้งค่าในการส่งข้อมูลผ่าน Protocol SNML โดยจะเป็นข้อมูลเกี่ยวกับการใช้งานต่างๆในระบบ ทั้งสถานะ ที่ดูได้ผ่านกราฟ
การแจ้งเตือนเมื่อมีการทำงานที่ผิดปกติเกิดขึ้นจากตัว Client
เครื่อง IP 172.31.0.81 , 172.31.0.82 , 172.31.0.83 , 172.31.0.84
จะได้รับการแจ้งเตือนการทำงานกับ Service SNMP ICMP SSH
ข้อมูลส่วนตัวที่ทำการกำหนดโดยผู้ใช้ของเครื่องที่ทำการเชื่อมต่อ
เครื่อง IP 172.31.1.254
จะได้รับการแจ้งเตือนการทำงานกับ Service SNMP ICMP DNS
ข้อมูลส่วนตัวที่ทำการกำหนดโดยผู้ใช้ของเครื่องที่ทำการเชื่อมต่อ
การแจ้งเตือนกับ IP DNS เป็นเครื่อง Gatway
เครื่องของตนเอง IP 172.31.1.18
จะได้รับการแจ้งเตือนการทำงานกับ Service SNMP ICMP SSH HTTP
ข้อมูลส่วนตัวที่ทำการกำหนดโดยผู้ใช้ของเครื่องที่ทำการเชื่อมต่อ
ผู้จัดทำ
นายสรัล วรรณภูงา 116310400136-2
นายกันตพงษ์ กลิ่นเนียม 116310400321-0
นายธนวัฒน์ เอี่ยมละออ 116310400590-0
นายบัณฑิต สงค์ประชา 116310462015-3
|